Automation Requests and Fulfillment
Introduction
The Automation Requests and Fulfillment workflow allows anyone inside the organization to file a request for an automation to be created. Then the system administrator can screen the requests and decide which ones to assign to the developers to fulfill.
The requests would typically be for a process that the requestor applies regularly and that can save time if automated.
From a development standpoint, Resolve Actions Pro provides two variations of the same request form: one written in ExtJS and one created using Custom Forms. Both come with the exact same functionality. Use the one that matches your preference and customization needs.
The form data is stored in RSSearch under the crintakeform
index.
Initial Configuration
The Automation Requests and Fulfillment feature depends on email communication to send notifications to the requestor.
Ensure that the following ActionTask properties are set, otherwise requests will be properly accepted but the requestors will not receive any updated on the request's status.
CR_EMAIL_HOST—SMTP
—host to use for sending emails. Default: smtp-mail.outlook.com.CR_EMAIL_USERNAME
—Username to use to authenticate with the SMTP server.CR_EMAIL_PASSWORD
—Password to use to authenticate with the SMTP server.CR_EMAIL_PORT
—Port number of the SMTP server. Default: 587.CR_EMAIL_QUEUE
—RSRemore queue name to use to send emails. Default: RSREMOTE
Request Life Cycle
Out of the box, Automation Requests and Fulfillment defines a request life cycle of four statuses. You can change the number of statuses and their names by customizing the form.
As an automation request is received, the system first gives it the Open status. As a next step, an admin will review the request and either assign it to an automation developer (changing its status to In Progress) or reject it (changing its status to Rejected). After development completes, the admin can move the requests to the Closed status.
At each status change, the requestor and the requests assignee (the automation developer) receive an email notifying them of the change. Those parties also receive a notification if any of the other information fields change.
Note that the involved parties must do all status changes manually.
Requesting an Automation
Requesting an automation does not require logging in to Actions Pro. Anyone who has web access to the Actions Pro servers can open the request URL and send a request. Alternatively, any logged-in user can access the form from the Main Menu.
After filling in the request form, the requestor is kept up to date with their request over email.
Take these steps to file an automation request:
- Go to the automation requests form URL:
- ExtJS variant:
https://<Actions Pro hostname>:<port>/resolve/service/public/view/crform/automationrequestform
- Custom Forms variant:
https://<Actions Pro hostname>:<port>/resolve/service/public/view/crform/automationrequestcustomform
- Alternatively, any user can access the form after logging in to Actions Pro from the Main Menu, under Automation Requests COE > Automation Request Form or Automation Request Custom Form.
- ExtJS variant:
- Fill in the fields as explained bellow.
- Click Submit.
Upon submitting the form, an email with the requests details is sent to the requestor.
The standard automation requests form consists of the fields listed below. As an automation developer or an administrator, you can also customize the form's content or appearance.
- Name—Name of a user/Subject Matter Expert (SME) who is making the request.
- Title—Organization title held by the requestor.
- Department—Organization department that the requestor belongs to.
- Description—Detailed information about the process that requires automating.
- Technical SME Email—Email address of the requestor. Any request status changes will be sent to this email address.
- Tools Used—List of the tools currently used to carry out the process, in free text.
- Process Execution Per Day—How many times per day the process is currently being executed.
- Process Execution Time in minutes—How much minutes it currently takes to complete the process.
- Cost Per Hour—What is the current cost per hour to complete the process using the currency selected in Currency.
- Currency—Currency to apply to the Cost Per Hour value.
Administering Automation Requests
As an administrator, you can view and manage automation requests sent to the system. This includes changing the request's status, assigning the requests to a developer, and rejecting a request. Before a developer can start working on a request, an administrator needs to assign the request to the developer.
Viewing Automation Requests
You can see the list of all requests sent to the system, regardless of their current state.
Take these steps to view the list of all requests sent to the system:
- Log in to Actions Pro as an admin.
- From the Main Menu, go to Automation Requests COE > Automation Request Update.
You can use the Search filed to narrow down the list or you can use the column headers to sort it.
Updating Automation Requests
As an administrator, it is your job to move the requests through its life cycle. You can also update any of the original requests fields.
Take these steps to update an automation request:
- Log in to Actions Pro as an admin.
- From the Main Menu, go to Automation Requests COE > Automation Request Update.
- Double-click the request to open its details.
- Update any of the fields as explained below and then click Update.
Upon any modification, the requestor and the requests assignee (the automation developer) receives an email with update information.
In addition to the fields available on the automation request form, the administrator can see and update these fields:
- Status—Sets the life cycle status of the request.
- Assigned To—Name of the developer who will be developing the automation.
- Assignee Email—Email address of the assignee. It will be used to sent them notifications about changes to the request's status or details.
- Internal Comment—Free-text field for comments targeted at the assignee (automation developer).
- Customer Comment—Free-text field for comments targeted at the requestor.
- Runbook—Name of the automation created by the developer to fulfill the requests. Preferably, prefix the name with its namespace.
Assigning Automation Requests
As an admin, you can choose to either assign or reject an automation request. Assigning it means that you are passing it over to an automation developer to come up with a solution to the requests.
Take these steps to assign an automation request:
- Log in to Actions Pro as an admin.
- From the Main Menu, go to Automation Requests COE > Automation Request Update.
- Double-click the request to open its details.
- Set the following fields:
- Status to Assigned.
- Assigned To to the name of the developer who will be developing the automation.
- Assignee Email to the email address of the assignee.
- (Optional) Internal Comment to any instructions or comments that you might have for the assignee.
- (Optional) Customer Comment to any information or comments that you might have for the requestor.
- Click Update.
Rejecting Automation Requests
As an admin, you can choose to either assign or reject an automation request. Rejected requests remain visible in the automation request list with the Rejected status.
Take these steps to reject an automation request:
- Log in to Actions Pro as an admin.
- From the Main Menu, go to Automation Requests COE > Automation Request Update.
- Double-click the request to open its details.
- Set the Status field to Rejected.
- Click Update.
Customizing the Request Form
You can customize the request form to add fields or change the existing ones.
The request form comes in two variants that do the same:
- Form built using ExtJS: CRForm.AutomationRequestForm
- Form built using Custom Forms: CRForm.AutomationRequestCustomForm
Customizing the ExtJS Form
Take these steps to customize the ExtJS variant of the request form:
- Log in to Actions Pro.
- From the Main Menu, under Automation Requests COE click one of the forms:
- Automation Request Form for CRForm.AutomationRequestForm
- Automation Request Custom Form for CRForm.AutomationRequestCustomForm
- In the toolbar at the top, click the Edit button (the pencil icon).
- In the JavaScript section, click the Edit button (the pencil icon).
- Edit the
items
array to add, remove, or modify fields.
It is important to use ExtJS in combination with the Resolve field naming convention. - Finally, in the toolbar, click the Save button.
Customizing the Custom Form
Take these steps to customize the Custom Forms variant of the request form:
- Log in to Actions Pro.
- From the Main Menu, go to Table Administration > View Forms.
- Click
ARFORM
. - Add, edit, or remove form fields using the visual tools.
It is important to follow the field naming convention. - Click Save.
Branding the Request Form
You can change the look of the branding bar at the top of the request form using CSS and by providing a new logo file. The steps are the same for both the ExtJS and the Custom Forms form.
- Log in to Actions Pro.
- From the Main Menu, under Automation Requests COE click the form variant that you want to edit:
- Automation Request Form for CRForm.AutomationRequestForm
- Automation Request Custom Form for CRForm.AutomationRequestCustomForm
- In the toolbar at the top, click the Edit button (the pencil icon).
- In the HTML section, click the Edit button (the pencil icon).
- Edit the HTML code and then click Update:
- To replace the logo, first upload it to the
<actions-pro-home>/tomcat/webapps/
directory on each cluster node running RSView and then specify its path relative to that directory.
Example:<img class="... src="/resolve/images/logo.png">
- To update the color, size, and other parameters of the branding bar, use the div's
style
element.
- To replace the logo, first upload it to the
- Finally, in the toolbar, click the Save button.
Field Naming Convention
Regardless of which form variant you are customizing, you need to follow a certain naming convention to ensure proper storing of the form data in RSSearch.
The internal field name (Field Name for Custom Forms and name
for ExtJS) must use the following naming convention:
- Always prefix the name with
u_
.
Example:u_department
- Always suffix numeric fields (Number or Decimal for Custom Forms and
numberfield
for ExtJS) with the exact number type, for example,u_processExecTime_int
. Possible suffixes are_int
,_long
,_float
, and_double
. Fields with no or an unrecognized suffix are stored as a text field.
Automation Request Reporting
Automation Requests and Fulfillment facility includes Kibana reports to help you visually represent the statistical information gathered during the request life cycle.
To view the reporting wiki, from the Main Menu, click Automation Requests COE > Reports, which opens an embedded Kibana view.